home *** CD-ROM | disk | FTP | other *** search
/ Freelog Special Freeware 31 / FreelogHS31.iso / ArgentCompta / FASTCAISSE / Setup FASTCAISSE.exe / {app} / A Faire43.SQL < prev    next >
Text File  |  2003-11-15  |  2KB  |  71 lines

  1. DELETE FROM CHAINES WHERE TYPEC=14 OR TYPEC=16;
  2. ALTER TABLE LIGNES DROP COMMENTAIRE;
  3. CREATE TABLE "PRIXVENTE"
  4. (
  5.   "INDXART"    INTEGER NOT NULL,
  6.   "TARIF"    SMALLINT DEFAULT 1 NOT NULL,
  7.   "COEF"    "COEFF",
  8.   "PRIX"    "EURO",
  9.   "DATEMODIF"   DATE,
  10.  PRIMARY KEY ("INDXART","TARIF")
  11. );
  12. ALTER TABLE "PRIXVENTE" ADD CONSTRAINT "CON_PRIXVENTE" FOREIGN KEY ("INDXART") REFERENCES "ARTICLES" ("INDX")ON UPDATE CASCADE ON DELETE CASCADE;
  13.  
  14. CREATE TRIGGER "TRI_PRIXVENTE" FOR "PRIXVENTE"
  15. ACTIVE BEFORE UPDATE POSITION 0
  16. as
  17.     begin
  18.     new."DATEMODIF" = 'NOW';
  19.     end
  20.  ;
  21.  
  22. INSERT INTO PRIXVENTE (INDXART,TARIF,COEF,PRIX,DATEMODIF) SELECT INDX,1,COEF1,PRIX1,DATEMODIF FROM ARTICLES where coef1<>0 OR prix1<>0;
  23. INSERT INTO PRIXVENTE (INDXART,TARIF,COEF,PRIX,DATEMODIF) SELECT INDX,2,COEF2,PRIX2,DATEMODIF FROM ARTICLES where coef2<>0 OR prix2<>0;
  24. INSERT INTO PRIXVENTE (INDXART,TARIF,COEF,PRIX,DATEMODIF) SELECT INDX,3,COEF3,PRIX3,DATEMODIF FROM ARTICLES where coef3<>0 OR prix3<>0;
  25. ALTER TABLE ARTICLES DROP PRIX1;
  26. ALTER TABLE ARTICLES DROP PRIX2;
  27. ALTER TABLE ARTICLES DROP PRIX3;
  28. ALTER TABLE ARTICLES DROP COEF1;
  29. ALTER TABLE ARTICLES DROP COEF2;
  30. ALTER TABLE ARTICLES DROP COEF3;
  31. CREATE INDEX IDX_RAYON ON ARTICLES (RAYON);
  32.  
  33. CREATE PROCEDURE "GET_R123"
  34. (
  35.   "INDX" INTEGER
  36. )
  37. RETURNS
  38. (
  39.   "R1" VARCHAR(40),
  40.   "R2" VARCHAR(40),
  41.   "R3" VARCHAR(40)
  42. )
  43. AS
  44. DECLARE VARIABLE V1 VARCHAR(50);
  45. DECLARE VARIABLE N1 SMALLINT;
  46. DECLARE VARIABLE N2 SMALLINT;
  47. DECLARE VARIABLE N3 SMALLINT;
  48. BEGIN
  49. SELECT RY1,RY2,RY3 FROM RAYONS WHERE PKEY = :INDX INTO :N1,:N2,:N3;
  50. SELECT NOMRAYON FROM RAYONS WHERE (RY1=:N1) AND (RY2=0) AND (RY3=0) INTO :R1;
  51. if (n2<>0) then
  52.   begin
  53.   SELECT NOMRAYON FROM RAYONS WHERE (RY1=:N1) AND (RY2=:N2) AND (RY3=0) INTO :R2;
  54.   end
  55. else
  56.   begin
  57.   R2 = '';
  58.   end
  59. if (n3<>0) then
  60.   begin
  61.   SELECT NOMRAYON FROM RAYONS WHERE (RY1=:N1) AND (RY2=:N2) AND (RY3=:N3) INTO :R3;
  62.   end
  63. else
  64.   begin
  65.   R3 = '';
  66.   end
  67. SUSPEND;
  68. END
  69.  ;
  70. SET GENERATOR VERSION_BASE TO 43;
  71.